package utils

import (
	"server/models"
)

func CheckPermission(roleId uint, path string, method string) bool {
	// 检查角色是否有该权限
	role := &models.AdminRole{}
	err := Db.Where("id = ?", roleId).First(role).Error
	if err != nil {
		return false
	}
	return true

	// if strings.HasPrefix(path, perm.Path) && checkMethod(perm.Action, method) {
	// 	hasPermission = true
	// 	break
	// }
	// // 检查权限是否存在
	// permission := &models.Permission{}
	// err = Db.Where("path = ? AND method = ?", path, method).First(permission).Error
}

// 检查方法权限
// func checkMethod(action, method string) bool {
// 	// 解析action格式: "module:action"
// 	parts := strings.Split(action, ":")
// 	if len(parts) < 2 {
// 		return true
// 	}

// 	// 根据方法映射
// 	switch method {
// 	case http.MethodGet:
// 		return parts[1] == "view" || parts[1] == "list"
// 	case http.MethodPost:
// 		return parts[1] == "create"
// 	case http.MethodPut, http.MethodPatch:
// 		return parts[1] == "update"
// 	case http.MethodDelete:
// 		return parts[1] == "delete"
// 	default:
// 		return true
// 	}
// }
